Stefan Kangas [Thu, 22 Apr 2021 01:07:53 +0000 (03:07 +0200)]
* lisp/strokes.el: Doc fix; update URL.
Dmitry Gutov [Thu, 22 Apr 2021 00:09:13 +0000 (03:09 +0300)]
Use khaki1 as 'match' background
* lisp/replace.el (match): Use khaki1 as the background color for
light backgrounds (bug#47574).
Stefan Kangas [Wed, 21 Apr 2021 21:27:13 +0000 (23:27 +0200)]
* lisp/emacs-lisp/package.el (package-archives): Bump :version.
Stefan Kangas [Wed, 21 Apr 2021 21:24:50 +0000 (23:24 +0200)]
* lisp/emacs-lisp/package.el: Doc fix.
Philip K [Wed, 21 Apr 2021 20:17:27 +0000 (22:17 +0200)]
Make outline commands repeatable (bug#47878)
* outline.el (outline-navigation-repeat-map): Add new map.
(outline-editing-repeat-map): Add new map.
Mattias Engdegård [Wed, 21 Apr 2021 15:27:14 +0000 (17:27 +0200)]
Don't erroneously declare `mark` as error-free
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
(side-effect-and-error-free-fns):
`mark` is side-effect-free but not error-free.
Juri Linkov [Wed, 21 Apr 2021 20:39:27 +0000 (23:39 +0300)]
* lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512).
(search-map): Bind "M-s M-." to isearch-forward-thing-at-point.
(isearch-forward-thing-at-point): New defcustom.
Juri Linkov [Wed, 21 Apr 2021 19:37:05 +0000 (22:37 +0300)]
* lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512
Philipp Stephani [Wed, 21 Apr 2021 18:54:32 +0000 (20:54 +0200)]
Remove a self-reference from the Emacs Lisp manual.
* doc/lispref/minibuf.texi (Programmed Completion): Remove
self-reference.
Stefan Kangas [Wed, 21 Apr 2021 16:19:46 +0000 (18:19 +0200)]
Improve error message for missing Info manual
* lisp/info.el (Info-find-file): Improve error message for missing
Info manual. (Bug#46236)
Fix suggested by Eli Zaretskii <eliz@gnu.org>.
Philip K [Wed, 14 Apr 2021 17:19:01 +0000 (19:19 +0200)]
sgml-mode: Only set sgml-xml-mode if guessed to be an XML file
* lisp/textmodes/sgml-mode.el (sgml-mode): Don't override
sgml-xml-mode if the result of the guess is used as the buffer local
value. (Bug#47877)
Eli Zaretskii [Wed, 21 Apr 2021 12:29:49 +0000 (15:29 +0300)]
; * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix last change.
Stefan Monnier [Tue, 20 Apr 2021 23:40:09 +0000 (19:40 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925
In order to correctly detect the case of the "new style" with an empty body,
remove the old optional arguments `init-value`, `lighter`, and `keymap`,
so we can distinguish the "nil arg" from the "absent arg" cases.
Harald Jörg [Mon, 19 Apr 2021 22:25:39 +0000 (00:25 +0200)]
cperl-mode: Avoid abbrev expansion in variable names
* lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand
scalar variables like '$continue' as keywords. (Bug#47902)
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-hyperactive-electric-else): Verify that keywords are
expanded but variable names aren't.
Juri Linkov [Tue, 20 Apr 2021 20:04:36 +0000 (23:04 +0300)]
* lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection.
Juri Linkov [Tue, 20 Apr 2021 20:00:26 +0000 (23:00 +0300)]
* lisp/isearch.el (isearch-post-command-hook): Revert
ff796823e5 (bug#47894).
Jonas Bernoulli [Tue, 20 Apr 2021 16:43:49 +0000 (18:43 +0200)]
Add new library transient.el
* lisp/transient.el: New file.
Eli Zaretskii [Tue, 20 Apr 2021 14:58:18 +0000 (17:58 +0300)]
Fix Rmail-MIME size estimations
The quoted-printable estimation was obviously wrong: the size becomes
smaller when decoded, not larger...
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations
of decoded MIME attachment.
Stefan Monnier [Tue, 20 Apr 2021 14:36:48 +0000 (10:36 -0400)]
* src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el`
* src/keymap.c (syms_of_keymap):
* lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration
to initialization.
(read-no-blanks-input): Move from `minibuf.c`.
Stefan Monnier [Tue, 20 Apr 2021 13:36:26 +0000 (09:36 -0400)]
* lisp/minibuffer.el (minibuffer-mode-map): Make it an alias
Avoid creating this "dummy" keymap by making it an alias of
the parent keymap of all minibuffer keymaps.
Stefan Monnier [Tue, 20 Apr 2021 12:51:44 +0000 (08:51 -0400)]
* src/minibuf.c (read_minibuf): Change multibyte more safely
We used to `bset_enable_multibyte_characters` while the buffer is not
empty, putting the buffer temporarily in an inconsistent state.
Further simplifications along the way: Prefer re-using local var `histvar`
and let `insert` do the unibyte<->multibyte conversion if needed.
Michael Albinus [Tue, 20 Apr 2021 11:35:26 +0000 (13:35 +0200)]
Fix localization problem in Tramp
* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized
quotation characters for check.
Alan Mackenzie [Tue, 20 Apr 2021 10:53:02 +0000 (10:53 +0000)]
Fix bug #47781: (window-list-1 nil t) wrongly returned nil.
* src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of
the conditional, insert "EQ (minibuf, Qt)" in the requisite place.
Alan Mackenzie [Tue, 20 Apr 2021 10:14:40 +0000 (10:14 +0000)]
Introduce and use minibuffer-mode. This fixes bug #47150
* lisp/minibuffer.el (minibuffer-mode): New derived mode.
* src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode,
Qminibuffer_inactive_mode, Qminibuffer_completing_file_name,
Qselect_frame_set_input_focus, Qadd_to_history.
(read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs
in place of continual interning.
(set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather
than fundamental-mode.
* doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode.
* doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about
minibuffer-mode.
* etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry.
Daniel Mendler [Mon, 19 Apr 2021 20:13:55 +0000 (22:13 +0200)]
(completion-all-sorted-completions): Additional alphabetical sorting
Even in the cases where it does not make much visible difference,
it brings the benefit of making the result deterministic.
* minibuffer.el (minibuffer--sort-by-length-alpha): New function.
(minibuffer--sort-by-position): New function extracted from
`completion-all-sorted-completions`.
(completion-all-sorted-completions): Use use them.
Daniel Mendler [Mon, 19 Apr 2021 13:40:00 +0000 (15:40 +0200)]
minibuffer.el: Use completion--message instead of minibuffer-message
* minibuffer.el: Use completion--message consistently for the messages
"Incomplete", "Sole completion" and "No completions".
Philipp Stephani [Mon, 19 Apr 2021 19:10:20 +0000 (21:10 +0200)]
Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).
The dynamic loader of GNU libc 2.28 uses this system call to
initialize CPU information, see
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28.
Simulating an older kernel by returning EINVAL should be the most
harmless rule here.
The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers;
see the FIXME at the top of
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28.
* lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not
already present. Inline the value because there doesn't seem to
be a header file exporting this constant yet.
(main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL.
Stefan Monnier [Mon, 19 Apr 2021 19:10:05 +0000 (15:10 -0400)]
* lisp/minibuffer.el (completion-all-sorted-completions): Fix last change
Stefan Monnier [Mon, 19 Apr 2021 18:57:41 +0000 (14:57 -0400)]
* lisp/minibuffer.el (minibuffer--sort-by-key): New function
(completion-all-sorted-completions): Use it.
Daniel Mendler [Mon, 19 Apr 2021 06:43:41 +0000 (08:43 +0200)]
completion-all-sorted-completions: Fix sorting performance bug
* lisp/minibuffer.el (completion-all-sorted-completions): Use hash
table for sorting by history position, O(m+n*log(n)) instead of
O(m*n*log(n)) with history length `m` and candidate length `n`.
Daniel Mendler [Mon, 19 Apr 2021 06:20:50 +0000 (08:20 +0200)]
completing-read: If HIST is the symbol `t', history is not recorded.
* lisp/minibuffer.el (completion-all-sorted-completions): Check if
`minibuffer-history-variable` is `t`
* src/minibuf.c (completing-read): Update docstring
* doc/lispref/minibuf.texi: Update documentation of
`read-from-minibuffer` and `completing-read`
Stefan Kangas [Mon, 19 Apr 2021 10:21:01 +0000 (12:21 +0200)]
; Normalize and add missing first and last lines
Michael Albinus [Mon, 19 Apr 2021 09:52:48 +0000 (11:52 +0200)]
Add Tramp recompilation
* doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU
ELPA Tramp README.
* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p)
(tramp-recompile-elpa): New defuns. Add property `completion-predicate'.
Stefan Kangas [Mon, 19 Apr 2021 07:50:13 +0000 (09:50 +0200)]
Don't hard-code "~/.emacs.d/" in two more places
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
* lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code
"~/.emacs.d/".
Philip K [Sun, 18 Apr 2021 18:41:37 +0000 (20:41 +0200)]
Don't hard-code "~/.emacs.d/" in rcirc.el
* lisp/net/rcirc.el (rcirc-log-directory): Use
locate-user-emacs-file. (Bug#47880)
Philipp Stephani [Sun, 18 Apr 2021 20:05:59 +0000 (22:05 +0200)]
; * test/lisp/progmodes/xref-tests.el: Add footer.
Philipp Stephani [Sun, 18 Apr 2021 19:57:59 +0000 (21:57 +0200)]
Factor out a helper macro to create a temporary directory.
This is a useful abstraction, and saves a few levels of indentation in
the test body.
* test/lisp/progmodes/project-tests.el
(project-tests--with-temporary-directory): New helper macro.
(project/quoted-directory): Use it.
Philipp Stephani [Sun, 18 Apr 2021 19:47:53 +0000 (21:47 +0200)]
Add quoted filename support to 'project-find-regexp' (Bug#47799).
This is only a band-aid; it would be better to fix xref.el to work
with quoted filenames as well.
* lisp/progmodes/project.el (project--find-regexp-in-files): Unquote
filenames before passing them to 'xref-matches-in-files'.
* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Also test 'project-find-regexp'.
Philipp Stephani [Sun, 18 Apr 2021 19:46:10 +0000 (21:46 +0200)]
Extend project test so that 'project-current' works.
* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Verify that 'project-current' returns the right project.
Philipp Stephani [Sun, 18 Apr 2021 19:43:17 +0000 (21:43 +0200)]
Skip a unit test that requires an external program if necessary.
* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Skip if the 'find' program isn't available. The 'project-files'
function uses 'find' to obtain the list of project files.
Protesilaos Stavrou [Sun, 18 Apr 2021 03:30:12 +0000 (06:30 +0300)]
Update modus-themes to version 1.3.2
* doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of
other manuals that are distributed with Emacs.
(Install from the archives)
(Sample configuration for use-package)
(Option for more bold constructs)
(Option for more slanted constructs)
(Option for syntax highlighting)
(Option for no font mixing)
(Option for links)
(Option for command prompt styles)
(Option for completion framework aesthetics)
(Option for fringe visibility)
(Option for language checkers)
(Option for org-habit graph styles)
(Option for line numbers (display-line-numbers-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for diff buffer looks)
(Option for scaled headings)
(Option for variable-pitch font in UI elements)
(Option for variable-pitch font in headings)
(Case-by-case face specs using the themes' palette (DIY))
(Face specs at scale using the themes' palette (DIY))
(Font configurations for Org and others (DIY))
(Load theme depending on time of day): Minor markup changes for better
texi output.
(Option for mode line presentation): Document new possible values for
'modus-themes-mode-line'.
(Option for line highlighting (hl-line-mode)): Document new
'modus-themes-hl-line' variable, which supersedes
'modus-themes-intense-hl-line'.
(Option for active region): Document new possible values for
'modus-themes-region'.
(Option for org-mode block styles): Cite variables that affect
fontification.
(Option for the headings' overall style): Include the option of a
per-level nil value.
(Remap face with local value (DIY))
(Override colors (DIY)): Add sections.
(Full support for packages or face groups): Document newly supported packages
(Note for dimmer.el)
(Note for EWW and Elfeed fonts (SHR fonts)): Add notes.
(Acknowledgements): Add names of new contributors.
(GNU Free Documentation License): Add tags for html export.
* etc/themes/modus-operandi-theme.el (File)
* etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1
* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors)
(modus-theme-subtle-red)
(modus-themes-subtle-red)
(modus-theme-subtle-green)
(modus-themes-subtle-green)
(modus-theme-subtle-yellow)
(modus-themes-subtle-yellow)
(modus-theme-subtle-blue)
(modus-themes-subtle-blue)
(modus-theme-subtle-magenta)
(modus-themes-subtle-magenta)
(modus-theme-subtle-cyan)
(modus-themes-subtle-cyan)
(modus-theme-subtle-neutral)
(modus-themes-subtle-neutral)
(modus-theme-intense-red)
(modus-themes-intense-red)
(modus-theme-intense-green)
(modus-themes-intense-green)
(modus-theme-intense-yellow)
(modus-themes-intense-yellow)
(modus-theme-intense-blue)
(modus-themes-intense-blue)
(modus-theme-intense-magenta)
(modus-themes-intense-magenta)
(modus-theme-intense-cyan)
(modus-themes-intense-cyan)
(modus-theme-intense-neutral)
(modus-themes-intense-neutral)
(modus-theme-refine-red)
(modus-themes-refine-red)
(modus-theme-refine-green)
(modus-themes-refine-green)
(modus-theme-refine-yellow)
(modus-themes-refine-yellow)
(modus-theme-refine-blue)
(modus-themes-refine-blue)
(modus-theme-refine-magenta)
(modus-themes-refine-magenta)
(modus-theme-refine-cyan)
(modus-themes-refine-cyan)
(modus-theme-active-red)
(modus-themes-active-red)
(modus-theme-active-green)
(modus-themes-active-green)
(modus-theme-active-yellow)
(modus-themes-active-yellow)
(modus-theme-active-blue)
(modus-themes-active-blue)
(modus-theme-active-magenta)
(modus-themes-active-magenta)
(modus-theme-active-cyan)
(modus-themes-active-cyan)
(modus-theme-fringe-red)
(modus-themes-fringe-red)
(modus-theme-fringe-green)
(modus-themes-fringe-green)
(modus-theme-fringe-yellow)
(modus-themes-fringe-yellow)
(modus-theme-fringe-blue)
(modus-themes-fringe-blue)
(modus-theme-fringe-magenta)
(modus-themes-fringe-magenta)
(modus-theme-fringe-cyan)
(modus-themes-fringe-cyan)
(modus-theme-nuanced-red)
(modus-theme-nuanced-green)
(modus-theme-nuanced-yellow)
(modus-theme-nuanced-blue)
(modus-theme-nuanced-magenta)
(modus-theme-nuanced-cyan)
(modus-theme-special-cold)
(modus-theme-special-mild)
(modus-theme-special-warm)
(modus-theme-special-calm)
(modus-theme-diff-added)
(modus-theme-diff-changed)
(modus-theme-diff-removed)
(modus-theme-diff-refine-added)
(modus-theme-diff-refine-changed)
(modus-theme-diff-refine-removed)
(modus-theme-diff-focus-added)
(modus-theme-diff-focus-changed)
(modus-theme-diff-focus-removed)
(modus-theme-diff-heading)
(modus-theme-pseudo-header)
(modus-theme-mark-alt)
(modus-theme-mark-del)
(modus-theme-mark-sel)
(modus-theme-mark-symbol)
(modus-theme-heading-1)
(modus-theme-heading-2)
(modus-theme-heading-3)
(modus-theme-heading-4)
(modus-theme-heading-5)
(modus-theme-heading-6)
(modus-theme-heading-7)
(modus-theme-heading-8)
(modus-theme-hl-line)
(modus-theme-bold)
(modus-theme-slant)
(modus-theme-variable-pitch)
(modus-theme-graph-red-0)
(modus-theme-graph-red-1)
(modus-theme-graph-green-0)
(modus-theme-graph-green-1)
(modus-theme-graph-yellow-0)
(modus-theme-graph-yellow-1)
(modus-theme-graph-blue-0)
(modus-theme-graph-blue-1)
(modus-theme-graph-magenta-0)
(modus-theme-graph-magenta-1)
(modus-theme-graph-cyan-0)
(modus-theme-graph-cyan-1)
(modus-theme-lang-note)
(modus-theme-lang-warning)
(modus-theme-lang-error): Rename all internal faces.
(modus-themes-headings)
(modus-themes-fringes)
(modus-themes-lang-checkers)
(modus-themes-org-blocks)
(modus-themes-org-habit)
(modus-themes-mode-line)
(modus-themes-diffs)
(modus-themes-completions)
(modus-themes-prompts)
(modus-themes-intense-hl-line)
(modus-themes-hl-line)
(modus-themes-paren-match)
(modus-themes-syntax)
(modus-themes-links)
(modus-themes-region): Update defcustom.
(modus-themes--fringe):
(modus-themes--headings-choice):
(modus-themes--prompt):
(modus-themes--org-block-delim):
(modus-themes--mode-line-attrs):
(modus-themes--link):
(modus-themes--region):
(modus-themes--hl-line): Adjustments to internal functions.
(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update custom variables.
Philipp Stephani [Sun, 18 Apr 2021 08:33:41 +0000 (10:33 +0200)]
Fix Seccomp filter on CentOS 8.3 (Bug#47828).
* lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED.
Stefan Kangas [Sun, 18 Apr 2021 08:03:35 +0000 (10:03 +0200)]
* lisp/misearch.el (multi-isearch-pop-state): Doc fix.
Martin Rudalics [Sun, 18 Apr 2021 07:51:32 +0000 (09:51 +0200)]
Avoid selecting tooltip windows and frames (Bug#47207)
* src/frame.c (do_switch_frame): Don't switch to a tooltip frame.
(Fselect_frame): Do not select a tooltip frame.
* src/w32fns.c (Fx_show_tip):
* src/xfns.c (Fx_show_tip): Set the tooltip window's
`no-other-window' parameter so `other-window' will skip it.
* src/window.c (select_window): Do not select a tooltip window.
(candidate_window_p): Make sure MINIBUF is live.
(decode_next_window_args): Make sure that W's frame's minibuffer
window is live before including it.
(Qno_other_window): New symbol.
Stefan Monnier [Sun, 18 Apr 2021 05:03:43 +0000 (01:03 -0400)]
* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)
Don't bind `load-read-function` to nil but to its actual default value.
Actually, I'm not sure it's worth the trouble rebinding this var, but
if we do, then we should bind it to a valid value rather than to nil.
* lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice
if needed.
Philipp Stephani [Sat, 17 Apr 2021 19:06:11 +0000 (21:06 +0200)]
Attempt to print some debugging information on Seccomp failures.
Try to search the audit log as well as recent core dumps.
* test/src/emacs-tests.el (emacs-tests--seccomp-debug): New helper
function.
(emacs-tests/seccomp/allows-stdout)
(emacs-tests/seccomp/forbids-subprocess)
(emacs-tests/bwrap/allows-stdout): Use it.
Michael Albinus [Sat, 17 Apr 2021 14:39:14 +0000 (16:39 +0200)]
Make stderr in Tramp's make-process more robust
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about
error in inserting stderr file.
* lisp/net/tramp.el (tramp-handle-make-process): Fix docstring.
Stefan Monnier [Sat, 17 Apr 2021 13:57:01 +0000 (09:57 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further
Suggested by Lars Ingebrigtsen <larsi@gnus.org>.
Alan Third [Fri, 16 Apr 2021 18:12:23 +0000 (19:12 +0100)]
Fix :scale's affect on :width and :height (bug#47819)
* src/image.c (compute_image_size): Multiply width and height values
by scale.
Martin Rudalics [Sat, 17 Apr 2021 07:50:01 +0000 (09:50 +0200)]
Don't allow quitting while rebuilding Vwindow_list (Bug#47244)
* src/window.c (window_list, next_window, window_list_1): Don't
allow quitting in Fnconc and Fmemq (Bug#47244).
Stefan Monnier [Sat, 17 Apr 2021 03:40:51 +0000 (23:40 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output
Suggested by Michael Heerdegen <michael_heerdegen@web.de>.
Stefan Kangas [Fri, 16 Apr 2021 19:29:36 +0000 (21:29 +0200)]
Cleanup in em-extra.el
* lisp/eshell/em-xtra.el (cl-lib): Require.
(pcomplete, compile): Remove unnecessary requires.
(eshell/substitute, eshell/count, eshell/mismatch, eshell/union)
(eshell/intersection, eshell/set-difference)
(eshell/set-exclusive-or): Use cl-lib. Doc fixes.
(eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such.
(eshell/expr): Assume 'calc-eval' is always available.
Alan Mackenzie [Fri, 16 Apr 2021 19:34:00 +0000 (19:34 +0000)]
Check minibuffer windows are live windows, rather than assuming it
This partly fixes bug #47207.
* src/minibuf.c (choose_minibuf_frame, move_minibuffers_onto_frame)
(read_minibuf (twice), read_minibuf_unwind): Before using a frame's
->minibuffer_window field, check it is valid with WINDOW_LIVE_P.
(choose_minibuf_frame): Remove the emacs_abort for a null minibuffer.
Glenn Morris [Fri, 16 Apr 2021 14:50:20 +0000 (07:50 -0700)]
Merge from origin/emacs-27
eedad01b4b (origin/emacs-27) Fix typos in manuals
24d214652e Fix description of momentary message display
Stefan Kangas [Fri, 16 Apr 2021 12:35:25 +0000 (14:35 +0200)]
; Fix typos: emacs lisp -> Emacs Lisp
Stefan Kangas [Fri, 16 Apr 2021 12:28:10 +0000 (14:28 +0200)]
; Remove some useless comments
Robert Pluim [Fri, 16 Apr 2021 07:56:41 +0000 (09:56 +0200)]
; Grammar fixes
* doc/lispref/display.texi (Size of Displayed Text): Grammar fix.
* etc/NEWS: Grammar fix.
Robert Pluim [Tue, 13 Apr 2021 16:11:42 +0000 (18:11 +0200)]
; Fix typos
* doc/lispref/display.texi (SVG Images): Fix typos.
Robert Pluim [Tue, 13 Apr 2021 16:07:26 +0000 (18:07 +0200)]
Improve docstring of 'frame-scale-factor'
* src/frame.c (Fframe_scale_factor): Explain what happens when the
FRAME argument is nil.
Dmitry Gutov [Fri, 16 Apr 2021 00:52:44 +0000 (03:52 +0300)]
Improve quoting of directory names in project/xref
* lisp/progmodes/project.el (project--files-in-directory):
Quote LOCALDIR a bit earlier, to affect
xref--find-ignores-arguments as well (bug#47799).
* lisp/progmodes/xref.el (xref-matches-in-directory):
Quote the dir passed to xref--rgrep-command.
Dmitry Gutov [Fri, 16 Apr 2021 00:38:23 +0000 (03:38 +0300)]
project--files-in-directory: Handle errors reported by 'find'
* lisp/progmodes/project.el (project--files-in-directory):
Handle errors reported by 'find' (bug#47799).
Eli Zaretskii [Thu, 15 Apr 2021 19:00:19 +0000 (22:00 +0300)]
Fix 'garbage-collect-maybe'
* src/alloc.c (Fgarbage_collect_maybe): No longer interactive.
(Bug#47805)
Alan Third [Mon, 12 Apr 2021 19:30:12 +0000 (20:30 +0100)]
Allow use of em in image spec sizes
* src/image.c (image_get_dimension): New function.
(compute_image_size): Use image_get_dimension to set the sizes, and
pass in the image struct instead of just the spec.
(image_set_transform):
(imagemagick_load_image):
(svg_load_image): Use the image instead of the spec in compute_image_size.
(syms_of_image): Add 'em' as a symbol.
Philipp Stephani [Thu, 15 Apr 2021 16:41:04 +0000 (18:41 +0200)]
Improve project support for quoted directory names (Bug#47799)
* lisp/progmodes/project.el (project--files-in-directory): Unquote
directory name before passing it to 'find'.
(project--remote-file-names): Requote local filenames if the original
directory is quoted.
* test/lisp/progmodes/project-tests.el (project/quoted-directory): New
unit test.
Stefan Monnier [Thu, 15 Apr 2021 15:27:52 +0000 (11:27 -0400)]
* lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz`
(bindat--unpack-strz): Allow `len` to be nil.
(bindat--pack-strz): New function.
(bindat--type) <strz>: Make `len` arg optional.
(bindat-type): Adjust debug spec and docstring accordingly.
* doc/lispref/processes.texi (Bindat Types): Adjust accordingly.
Mattias Engdegård [Wed, 7 Apr 2021 09:31:07 +0000 (11:31 +0200)]
Add condition-case success handler (bug#47677)
Allow a condition-case handler on the form (:success BODY) to be
specified as the success continuation of the protected form, with
the specified variable bound to its result.
* src/eval.c (Fcondition_case): Update the doc string.
(internal_lisp_condition_case): Implement in interpreter.
(syms_of_eval): Defsym :success.
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Implement in byte-compiler.
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO
from success handler.
* doc/lispref/control.texi (Handling Errors): Update manual.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases)
(bytecomp-condition-case-success):
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Add test cases.
Alan Mackenzie [Thu, 15 Apr 2021 10:11:20 +0000 (10:11 +0000)]
CC Mode: Put debug specs inside declare forms. Add missing debug specs.
* lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el,
lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros
into a (declare (debug ...) ..) form. Add such forms to macros which were
previously lacking def-edebug-spec forms.
Juri Linkov [Wed, 14 Apr 2021 20:05:43 +0000 (23:05 +0300)]
repeat-echo-mode-line-string doesn't need risky-local-variable to keep props
(bug#47566)
Filipp Gunbin [Wed, 14 Apr 2021 19:27:00 +0000 (19:27 +0000)]
Java Mode: Change the syntax of character @ to prefix syntax
lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @
as indicated.
Juri Linkov [Wed, 14 Apr 2021 18:35:06 +0000 (21:35 +0300)]
* lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755)
Juri Linkov [Wed, 14 Apr 2021 18:22:55 +0000 (21:22 +0300)]
Don't error out when selection data is unavailable (bug#47642)
* src/xselect.c (x_get_window_property_as_lisp_data):
Display a message and return nil when data is not available.
Juri Linkov [Wed, 14 Apr 2021 18:11:45 +0000 (21:11 +0300)]
* lisp/progmodes/gud.el (gud-repeat-map): New variable (bug#47688).
(gud-gdb): Populate gud-repeat-map with repeating keys.
Juri Linkov [Wed, 14 Apr 2021 18:10:00 +0000 (21:10 +0300)]
* lisp/repeat.el: Add option to indicate repeat-mode in mode-line (bug#47566)
* lisp/repeat.el (repeat-echo-function): Rename from repeat-mode-echo.
Add choice repeat-echo-mode-line.
(repeat-in-progress): New variable.
(repeat-post-hook): Call repeat-echo-function with nil arg
at the end of repeating sequence.
(repeat-echo-message-string): New function with body from repeat-post-hook.
(repeat-echo-message): Rename from repeat-mode-message.
(repeat-echo-mode-line-string): New variable.
(repeat-echo-mode-line): New function.
Basil L. Contovounesios [Wed, 14 Apr 2021 11:41:19 +0000 (12:41 +0100)]
; Fix a couple of recent typos.
Michael Albinus [Wed, 14 Apr 2021 11:25:36 +0000 (13:25 +0200)]
Rearrange argument handling in Tramp scp calls.
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Use `start-process' instead of `start-process-shell-command'.
(tramp-make-copy-program-file-name): Do not quote `localname'.
* test/lisp/net/tramp-tests.el (tramp-method-out-of-band-p): Declare.
(tramp--test-windows-nt-and-batch-p)
(tramp--test-windows-nt-and-pscp-psftp-p): Remove, and also all callees.
(tramp--test-windows-nt-and-out-of-band-p)
(tramp--test-windows-nt-and-scp-p): New defuns.
(tramp-test17-dired-with-wildcards)
(tramp-test40-special-characters)
(tramp-test40-special-characters-with-stat)
(tramp-test40-special-characters-with-perl)
(tramp-test40-special-characters-with-ls, tramp-test41-utf8)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls): Use them.
Eli Zaretskii [Wed, 14 Apr 2021 08:47:55 +0000 (11:47 +0300)]
Add two optional arguments to 'string-width'
* src/character.c (Fstring_width, lisp_string_width): Accept two
optional arguments FROM and TO, to indicate the substring to be
considered.
(Fstring_width): Add caveats in the doc string about display
features ignored by the function. (Bug#47712)
* src/character.h (lisp_string_width): Update prototype.
* src/editfns.c (styled_format): Adjust call of lisp_string_width
to its changed signature.
* test/src/character-tests.el (character-test-string-width): New
file with tests for 'string-width'.
* doc/lispref/display.texi (Size of Displayed Text): Document
caveats of using 'string-width'.
* etc/NEWS: Announce the change.
Stefan Monnier [Wed, 14 Apr 2021 03:55:47 +0000 (23:55 -0400)]
* src/xdisp.c (wset_update_mode_line): Move from `src/window.c`
Move that function next to its siblings. Also simplify it, since
after careful analysis it is now clear that the frame's title's update
is already handled elsewhere (in `prepare_menu_bars` and `redisplay_window`)
so we just need to make sure the `redisplay` bit is set.
* src/window.c (wset_update_mode_line): Move to `src/xdisp.c`.
* src/window.h (wset_update_mode_line): Declare.
Stefan Monnier [Wed, 14 Apr 2021 03:34:35 +0000 (23:34 -0400)]
* lisp/nxml/xmltok.el (xmltok-defregexp): Don't quote lambda
Stefan Monnier [Wed, 14 Apr 2021 03:28:04 +0000 (23:28 -0400)]
* lisp/emacs-lisp/eieio-core.el (list-of): Don't quote lambda
Filipp Gunbin [Tue, 13 Apr 2021 17:07:20 +0000 (20:07 +0300)]
* doc/lispref/keymaps.texi (Translation Keymaps): Fix small misprint
Filipp Gunbin [Tue, 13 Apr 2021 16:54:17 +0000 (19:54 +0300)]
* doc/lispref/processes.texi: Fix small misprint
Eric Abrahamsen [Sat, 13 Mar 2021 22:25:47 +0000 (14:25 -0800)]
Improvements to message-syntax-checks docs and options
* doc/misc/message.texi: Move the manual entry from the "News Headers"
section to the "Message Headers" section, as it is generally
applicable, not just to News.
* lisp/gnus/message.el (message-syntax-checks): Add an explicit alist
type specifying the valid options; point to the manual for more
information.
Stefan Monnier [Tue, 13 Apr 2021 13:59:23 +0000 (09:59 -0400)]
* lisp/textmodes/two-column.el: Address FIXME
(2C-associate-buffer): Move minibuffer interactive to the `interactive` spec.
Stefan Monnier [Tue, 13 Apr 2021 13:47:46 +0000 (09:47 -0400)]
* lisp/textmodes/paragraphs.el (multiple-lines): Remove mistaken declaration
(forward-paragraph): Remove unused var `multiple-lines`.
Eli Zaretskii [Tue, 13 Apr 2021 13:40:42 +0000 (16:40 +0300)]
Resurrect mouse-highlight of close buttons on tab-bar
* src/w32term.c (w32_draw_image_relief): Support tab-bar drawing
with relief as xterm.c does.
* src/xdisp.c (handle_tab_bar_click): Access the mouse-highlight
info. Call show_mouse_face to show the button in the pressed or
the released state, according to value of DOWN_P.
(note_tab_bar_highlight): Function added back.
(note_mouse_highlight): Call note_tab_bar_highlight when the mouse
pointer is in the tab-bar window.
(show_mouse_face): Return immediately if mouse_face_window is not
set up in HLINFO. This avoids rare assertion violations.
Eli Zaretskii [Tue, 13 Apr 2021 12:30:02 +0000 (15:30 +0300)]
Fix typos in manuals
* doc/misc/eshell.texi (Completion):
* doc/lispref/objects.texi (Mutability): Fix typos. (Bug#47738)
Stefan Monnier [Tue, 13 Apr 2021 02:49:48 +0000 (22:49 -0400)]
* lisp/comint.el: Add `font-lock-face` to `rear-nonsticky`
(comint--prompt-rear-nonsticky): New const.
(comint-send-input, comint-output-filter): Use it.
Stefan Monnier [Tue, 13 Apr 2021 01:55:50 +0000 (21:55 -0400)]
Don't version-control generated file `grammat-wy.el`
This file is needed for CEDET's bootstrap, tho, so we now keep a copy of it
under version control in `gram-wy-boot.el`, very much like we do with
the `ldefs-boot.el` copy of `loaddefs.el`.
* lisp/cedet/semantic/grm-wy-boot.el: Rename from
`lisp/cedet/semantic/grammar-wy.el`.
* lisp/cedet/semantic/grammar.el: Load `grm-wy-boot.el` if
`grammar-wy.el` hasn't been generated yet.
* admin/update_autogen: Also refresh `grm-wy-boot.el`.
* admin/grammars/Makefile.in (WISENT): Add `grammar-wy.el` to the
generated files.
* .gitignore: Add `grammar-wy.el`.
Stefan Monnier [Mon, 12 Apr 2021 23:23:45 +0000 (19:23 -0400)]
* lisp/minibuffer.el (completion-table-with-quoting): Fix bug#47678
Wilson Snyder [Mon, 12 Apr 2021 17:36:05 +0000 (13:36 -0400)]
* lisp/progmodes/verilog-mode.el (vl-memory): Add missing defvar.
Stefan Monnier [Mon, 12 Apr 2021 17:01:06 +0000 (13:01 -0400)]
* lisp/emacs-lisp/smie.el: Fix URL. Remove redundant `:group` args
(smie-indent-forward-token): Improve error message.
(smie--funcall): New function.
(smie-indent-calculate): Use it.
Stefan Monnier [Mon, 12 Apr 2021 16:55:52 +0000 (12:55 -0400)]
* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Simplify
Stefan Monnier [Mon, 12 Apr 2021 16:53:53 +0000 (12:53 -0400)]
* lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete
Stefan Monnier [Mon, 12 Apr 2021 16:51:28 +0000 (12:51 -0400)]
* lisp/emacs-lisp/edebug.el (edebug--frame): Move docstring where it belongs
Stefan Monnier [Mon, 12 Apr 2021 16:49:36 +0000 (12:49 -0400)]
* lisp/vt-control.el: Avoid `called-interactively-p`
(vt-keypad-on, vt-keypad-off): Use the `tell` arg instead.
(vt-numlock): Add `tell` arg.
Stefan Monnier [Mon, 12 Apr 2021 16:46:47 +0000 (12:46 -0400)]
* lisp/files.el (file-modes-number-to-symbolic): Add `filetype` arg.
* lisp/tar-mode.el (tar-header-block-summarize): Use it.
(tar-grind-file-mode): Declare obsolete.
Stefan Monnier [Mon, 12 Apr 2021 16:32:07 +0000 (12:32 -0400)]
* lisp/frame.el (delete-other-frames): Add universal prefix `iconify` arg
(frame--current-backround-mode): New function,
extracted from `frame-set-background-mode`. Use `color-dark-p`.
(frame-set-background-mode): Use it.
Juri Linkov [Mon, 12 Apr 2021 16:14:45 +0000 (19:14 +0300)]
* lisp/repeat.el (repeat-mode-echo): New defcustom.
(repeat-post-hook): Use it.
(repeat-mode-message): New function (bug#47566).
(repeat-post-hook): Use real-this-command instead of this-command
to handle e.g. rectangle-exchange-point-and-mark remapped to
exchange-point-and-mark (bug#47688).
Stefan Monnier [Mon, 12 Apr 2021 15:54:10 +0000 (11:54 -0400)]
* lisp/dynamic-setting.el: Add missing footer
Stefan Monnier [Mon, 12 Apr 2021 15:53:25 +0000 (11:53 -0400)]
* lisp/comint.el (comint-strip-ctrl-m): Avoid `called-interactively-p`